/*
 * Copyright (c) 2021 Futurewei Technologies, Inc.
 *
 * clang2mpl is licensed under Mulan PSL v2.
 * You can use this software according to the terms and conditions of the Mulan
 * PSL v2. You may obtain a copy of Mulan PSL v2 at:
 *
 *     http://license.coscl.org.cn/MulanPSL2
 *
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY
 * KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
 * NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. See the
 * Mulan PSL v2 for more details.
 */
// RUN: %clang2mpl --ascii --verify %s -- -Wno-unused-value
// --target=aarch64-linux-elf RUN: cat %m | %FileCheck %s

typedef int __attribute__((aligned(16))) aint;

// CHECK: type $W <struct {
// CHECK-NEXT:   @l i32 align(16),
// CHECK-NEXT:   @m i32 align(8),
// CHECK-NEXT:   @n i32}>
struct W {
  aint l;
  int m __attribute__((aligned(8)));
  int n;
};

// CHECK: var $x i32
int x;
// CHECK: var $y i32 align(16)
aint y;
// CHECK: var $z i32 align(8)
int z __attribute__((aligned(8)));

// CHECK: var $p <* i32 align(16)>
aint *p;
// CHECK: var $a <[32] i32 align(16)>
aint a[32];
